package com.ruoyi.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.po.Account;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;


/**
 * 描述：外部账号服务类
 * @author 杨宸
 * @date 2025-02-12
 */
public interface IAccountService extends IService<Account> {

    /**
     * 描述：分页查询
     * @author 杨宸
     * @date 2025-02-12
     */
    IPage<Account> pageList(Account account);
    
    /**
     * 描述：详情
     * @author 杨宸
     * @date 2025-02-12
     */
    Account detailAccount(Long id);    

    /**
     * 描述：保存
     * @author 杨宸
     * @date 2025-02-12
     */
    void saveAccount(Account account);

    /**
     * 描述：修改
     * @author 杨宸
     * @date 2025-02-12
     */
    void updateAccount(Account account);

    /**
     * 描述：删除
     * @author 杨宸
     * @date 2025-02-12
     */
    void deleteAccount(List<Long> ids);

    /**
     * 描述：批量导出
     * @author 杨宸
     * @date 2025-02-12
     */
    void exportExcel(HttpServletResponse response, Account account);

    /**
     * 描述：账号密码登录
     * @author 杨宸
     * @date 2025-02-12
     */
    String passwordLogin(Account account);

    /**
     * 手机号登录
     * @author 杨宸
     * @date 2025-02-12
     */
    String phoneLogin(Account account);

    /**
     * 更新密码
     * @author 杨宸
     * @date 2025-02-12
     */
    Boolean updatePassword();

}